В силу своей профессиональной деятельности пришлось писать инжектор текстового слоя в PDF. Задачка проста: есть PDF, состоящий из сканов страниц; под эти картинки надо подложить распознанный текст, чтобы поиск работал.
Первым этапом надо было написать парсер PDF. Скачали спецификацию и набрали тестовую базу — аж 200 тысяч PDF-файлов. Итог всей этой опупеи был таков: 30–35% тестовой базы не соответствует спецификации PDF, но 95% открывается в Adobe Reader без проблем. Поэтому парсер писали не по спецификации, а по результатам тестов. Если Ридер открыл, то и мы должны открыть. Почему? А ты объясни юзеру, что данный файл не соответствует пункту 5.5.7 спецификации PDF 1.6. И так каждому юзеру по каждому файлу 100500 раз в день.
После этой задачки стали играть c открытием PDF на других ОС. Что делать — продукт кроссплатформенный. Под маком Preview валился как раз на генерации превью-картинки на корейском PDF, а под юниксом Ghost давал очаровательные психоделические разводы на всю страницу, если файл содержал картинки в формате JPEG-2000 и кодеке JasPer. И это не всё, а только что, что вспоминается на раз.
«О море надо спрашивать у рыбака», — гласит японская мудрость. То есть у тех, кто в теме. Таки вот: на сегодняшний день PDF-файл — это то, что открывает Adobe Reader, RTF — то, что открывает Word, а HTML — то, что открывается в IE и Firefox. 40% интернет-страниц, кстати, имеют несбалансированные теги и, по идее, не должны открываться в принципе. Поэтому ничего удивительного, что человек из недавней истории справился cо своим PDF только на винде. Смешно как раз морали про PDF читать.
Первым этапом надо было написать парсер PDF. Скачали спецификацию и набрали тестовую базу — аж 200 тысяч PDF-файлов. Итог всей этой опупеи был таков: 30–35% тестовой базы не соответствует спецификации PDF, но 95% открывается в Adobe Reader без проблем. Поэтому парсер писали не по спецификации, а по результатам тестов. Если Ридер открыл, то и мы должны открыть. Почему? А ты объясни юзеру, что данный файл не соответствует пункту 5.5.7 спецификации PDF 1.6. И так каждому юзеру по каждому файлу 100500 раз в день.
После этой задачки стали играть c открытием PDF на других ОС. Что делать — продукт кроссплатформенный. Под маком Preview валился как раз на генерации превью-картинки на корейском PDF, а под юниксом Ghost давал очаровательные психоделические разводы на всю страницу, если файл содержал картинки в формате JPEG-2000 и кодеке JasPer. И это не всё, а только что, что вспоминается на раз.
«О море надо спрашивать у рыбака», — гласит японская мудрость. То есть у тех, кто в теме. Таки вот: на сегодняшний день PDF-файл — это то, что открывает Adobe Reader, RTF — то, что открывает Word, а HTML — то, что открывается в IE и Firefox. 40% интернет-страниц, кстати, имеют несбалансированные теги и, по идее, не должны открываться в принципе. Поэтому ничего удивительного, что человек из недавней истории справился cо своим PDF только на винде. Смешно как раз морали про PDF читать.